These disk images contain the Apple II type-in programs from Compute! Magazine, Issues 81-85. The programs included are listed below. All programs are both DOS and ProDOS unless indicated with [D] for DOS-only or [P] for ProDOS-only. Note that the ProDOS SpeedScript is on its own disk.

#81: Wari, Quick ProDOS Catalog [P]
#82: Euchre, Applecoder, Diskcheck [D]
#83: SpeedScript 80, Menu Planner, Apple's Built-In Music Program, Magazine Indexer
#84: Rememory, ShapeMaker for Apple II, Solving Alphanumeric Puzzles, Hi-Res Text, Catalog Saver [D]
#85: Laser Chess, Printing Special Characters, Full-Screen Editor [D], Font Loader for ImageWriter [P]
plus Proofreader and MLX

For more documentation, instructions, and commentary, read on!

============================
  Compute Type-In Programs

        Issues 81-85
  February 1987- June 1987
============================

COMPUTE! magazine is a classic computing magazine which, in its heyday, published a variety of type-in programs for the Commodore 64/128, Apple II, Atari 400/800, IBM PC, and other 8-bit platforms. Typically each month's issue would feature a game, which was available on most of the supported platforms, and a variety of utilities. I recently discovered that archive.org has scans of all of the COMPUTE! back issues and decided to type in the programs there.

These disk images contain all of the Apple II type-in programs for five issues (81-85). Because there were a lot of programs in these five issues, they won't all fit on a ProDOS system disk, so three disk images are included: one DOS 3.3 disk, one ProDOS 1.1.1 disk with everything except for SpeedScript 80, and one ProDOS 1.1.1 disk which boots directly into SpeedScript 80 (which is the recommended way to use it anyway). The DOS and ProDOS disks are mostly identical, although there are a few programs which only work under one OS or the other, and so are omitted from the other disk. On the ProDOS disk, I've also sorted the separate issues into their own subdirectories. Filenames may also be slightly different between the DOS 3.3 and ProDOS versions due to the stricter ProDOS naming restrictions.

Each disk includes a menu program which will allow you to select and run the main programs of interest. However, each disk includes many files which are not designed to be run directly (for instance, binary files loaded in by another program, or BASIC files which exist only to make binary files). This listing includes information on all programs on the disk.

I've also included, for each program, a very brief summary of its function and how to use it, but for full details, please consult the original article.

Why am I typing in these nearly 30-year-old programs? Well, it's mostly because I enjoyed doing this as a kid, and I'd like to make sure that these are preserved for the future.

Note that I created these disks using an emulator (mostly AppleWin, although I also tried using MESS for some checks). If you're not lucky enough to still have a functional Apple II around, you'll also need an emulator -- I recommend AppleWin for Windows users, and have heard good things about Virtual ][ for Macs.
 -- Paul Lujan, January 2015

==================
Programs and Notes
==================

First there is HELLO (STARTUP for ProDOS), which is the main menu program. (On the ProDOS disk, because of space limitations, I've stripped down the STARTUP program somewhat to make it smaller, at the cost of readability.)

The next two programs are PROOFREADER and MLX, which were included in most COMPUTE! issues.

PROOFREADER is the Automatic Proofreader, which was included in all COMPUTE! issues starting with #62. It displays a checksum whenever you type in a BASIC line, which can be compared with the printed value to check that you had entered it correctly.

MLX is the Apple machine language entry program, which allowed you to conveniently enter ML listings in hexadecimal form. The printed listings included an extra checksum byte, which the program would check against the computed checksum to make sure the line had been entered correctly. Note that the version here is not quite the one printed in the magazine -- see the detailed notes at the end.

------------------------
Issue 81 (February 1987)
------------------------
archive.org link: https://archive.org/details/1987-02-compute-magazine

This contains the following programs:

* p. 62: Wari, by Don Donati; Apple II version by Patrick Parrish (DOS and ProDOS)
  https://archive.org/stream/1987-02-compute-magazine/Compute_Issue_081_1987_Feb#page/n63/mode/2up
[includes corrections from CAPUTE! in Issue #83: see https://archive.org/stream/1987-04-compute-magazine/Compute_Issue_083_1987_Apr#page/n81/mode/2up ]

This is a computerized version of the classic board game. Choose the game variant you'd like to play, and then play by selecting the compartment you'd like to sow counters from. See the article for full rules and details. RUN WARI to play. This version includes the fix in issue #83 which prevents counters from being re-sown into the starting compartment; if you prefer not including this rule, simply delete line 1365.

* p. 43: Quick ProDOS Catalog, by Larry Sholl (ProDOS only)
  https://archive.org/stream/1987-02-compute-magazine/Compute_Issue_081_1987_Feb#page/n43/mode/2up

This simple utility installs a new command which will automatically CAT when you are in 40-column mode and CATALOG in 80-column mode. BRUN QUICK.CATALOG to install, and then use CC to perform the smart catalog. You can use slot, drive, or prefix arguments as normal. QUICKCAT.MAKE is the BASIC file which creates the binary file; you shouldn't need to use it again once the binary is created.

---------------------
Issue 82 (March 1987)
---------------------
archive.org link: https://archive.org/details/1987-03-compute-magazine

This contains the following programs:

* p. 46: Euchre, by David Shimoda (DOS and ProDOS)
  https://archive.org/stream/1987-03-compute-magazine/Compute_Issue_082_1987_Mar#page/n47/mode/2up
[includes corrections from CAPUTE! in Issue #84: see https://archive.org/stream/1987-05-compute-magazine/Compute_Issue_084_1987_May#page/n61/mode/2up ]

This is an implementation of the classic card game. See the article for full rules and description. Use the arrow keys to choose menu items or cards and Return to select. RUN EUCHRE to play. EUCHRE.BIN is the machine language file containing the code for drawing the card images.

* p. 97, Applecoder, by Adam Levin (DOS and ProDOS)
  https://archive.org/stream/1987-03-compute-magazine/Compute_Issue_082_1987_Mar#page/n97/mode/2up

Applecoder is a utility which uses the Apple II PRNG to encode and decode text files. RUN APPLECODER to start the encoding and decoding process. STRANGE is a sample test file to demonstrate the process (use the key 340.897 to decode it). CREATE.PHRASE is a simple script to create the test file STRANGE. (If you want to try decoding the test file under ProDOS, you will need to enter the file name as ISSUE82/STRANGE, since the program resets the current prefix.)

* p. 108: Diskcheck, by Steve Meyles (DOS only)
  https://archive.org/stream/1987-03-compute-magazine/Compute_Issue_082_1987_Mar#page/n109/mode/2up

Diskcheck is a powerful sector editor for directly editing the contents of a DOS 3.3 disk. BRUN DISKCHECK to use it. A command menu is displayed at the bottom; to edit the contents, use T to insert text characters or H to insert characters by hex value.

---------------------
Issue 83 (April 1987)
---------------------
archive.org link: https://archive.org/details/1987-04-compute-magazine

This contains the following programs:

* p. 41: SpeedScript 80, by Charles Brannon, Kevin Martin, and Bill Rodrick (DOS and ProDOS)
  https://archive.org/stream/1987-04-compute-magazine/Compute_Issue_083_1987_Apr#page/n41/mode/2up

SpeedScript 80 was one of the flagship products of COMPUTE!'s type-in line: a full-featured word processor in pure machine language taking up a mere 6K of disk space. Most commands are executed by Control-key combinations, but there is no online help, so you'll need to consult the article for a full descriptions of available commands and how they work. Note that there is no way to quit once you've started, other than rebooting.

Under DOS, BRUN SPEEDSCRIPT80 to start. In ProDOS, simply boot from the included SpeedScript disk, or, if you've booted from another disk, use -SS80.SYSTEM. Also included are programs for converting text files to SpeedScript files, or vice-versa; these can be invoked by RUN SSCONVERT under DOS or RUN SS.CONVERT in ProDOS (note that the ProDOS converter is on the main ProDOS disk, not the SpeedScript disk, since it needs BASIC to run). In addition, the DOS disk includes SS80.MAKER and PATCH.80, which are the BASIC program and binary file for patching old SpeedScript 3.0 versions to SpeedScript 80, although you don't actually need these files. The SpeedScript ProDOS disk also includes PRODOS.MAKER and SPEEDSCRIPT2, which are the BASIC program and binary file for converting the DOS SpeedScript 80 to the ProDOS version, and the ProDOS versions of SS80.MAKER and PATCH.80.

Unfortunately, under emulation, SpeedScript 80 doesn't really live up to its name -- something about how the program reads the keyboard doesn't seem to work very well under emulation, and causes a lot of keystrokes to be lost if you're typing even moderately fast. Also, sometimes the program acts as if you're holding down the Apple key even if you're not, and vice-versa, although this happens rather unpredictably. This happens under both DOS and ProDOS.

Under ProDOS, if you boot SpeedScript 80 from its own disk, it will remember the volume name of that disk, so you don't need to include a prefix for saving to that disk (although of course you can specify one to save on another disk). However, if you start the program from the BASIC command line, not from its own disk, you must include the full prefix in all save/load commands or else you will get ERROR #40. (This appears to be the expected behavior given the documentation.)

The ProDOS Speedscript converter doesn't appear to convert carriage returns properly. You can either use the improved converter in issue #73, which works fine for Speedscript 80 files, or convert to DOS and perform the conversion there.

* p. 60: Menu Planner, by W. M. Shockley (DOS and ProDOS)
  https://archive.org/stream/1987-04-compute-magazine/Compute_Issue_083_1987_Apr#page/n61/mode/2up

Menu Planner is a simple utility which allows you to plan a week's worth of menus, either selecting from various predetermined options or entering your own. RUN MENU PLANNER (RUN MENU.PLANNER in ProDOS) to start the process.

* p. 98: Apple's Built-In Music Program, by Mike Miyake (DOS and ProDOS)
  https://archive.org/stream/1987-04-compute-magazine/Compute_Issue_083_1987_Apr#page/n99/mode/2up

This is a short utility showing you how to use Apple's music subroutine built into Integer BASIC to create your own music quickly and easily. In DOS, there are four files: MUSIC is the actual machine-language subroutine as extracted from Integer BASIC, and MUSIC DEMO is a short demo showing how to use it to create music. MUSIC.RELOC is the same subroutine relocated to a more useful memory location, and MUSIC DEMO 2 shows how to use it. ProDOS only supports the relocated version, so the ProDOS disk only contains MUSIC.RELOC and MUSIC.DEMO (which is the equivalent of the DOS MUSIC DEMO 2).

* p. 106: Magazine Indexer, by Marc Sugiyama; Apple II version by Todd Koumrian (DOS and ProDOS)
[includes corrections from CAPUTE! in Issue #84: see https://archive.org/stream/1987-05-compute-magazine/Compute_Issue_084_1987_May#page/n61/mode/2up ]

This program allows you to create a computerized, searchable index of your computer magazines. RUN MAGAZINE INDEXER (or MAGAZINE.INDEX in ProDOS) to run. I've included these five issues as sample data, so if you want to view them, press 'N' when asked if this is a cold start; or, if you want to start with a new, empty data file, press 'Y'. The various options in the program should be relatively self-explanatory. The actual data is stored in the two files INDEX1.DAT and INDEX POINTERS (INDEX.POINTERS in ProDOS).

* The reader feedback (p. 8) contains a very simple answer to a question how to delete files from a SpeedScript disk.
https://archive.org/stream/1987-04-compute-magazine/Compute_Issue_083_1987_Apr#page/n9/mode/2up

-------------------
Issue 84 (May 1987)
-------------------
archive.org link: https://archive.org/details/1987-05-compute-magazine

This contains the following programs:

* p. 38: Rememory, by Charles Harbert (DOS and ProDOS)
  https://archive.org/stream/1987-05-compute-magazine/Compute_Issue_084_1987_May#page/n39/mode/2up

This game is an implementation of the classic memory game, where the object is to flip over pairs of matching cards. Move the cursor using IJKM and use the space bar to select a card. RUN REMEMORY to play.

* p. 70: ShapeMaker for Apple II, by William C. Vergara (DOS and ProDOS)
  https://archive.org/stream/1987-05-compute-magazine/Compute_Issue_084_1987_May#page/n71/mode/2up

This application provides a relatively friendly way to create Apple shape tables, which can be a very difficult procedure otherwise. The main program is named SHAPEMAKER, but you can't run it directly, because it requires memory to be reconfigured. Instead, a bootstrap program is included to set up memory correctly and run Shapemaker, so RUN SHAPEBOOT to start the program. See the article for detailed instructions on how to use it.

Three predefined shape tables are included -- SHAPETABLE3X6 is a set of 58 characters in 3x6 resolution, SHAPETABLE5X7 includes the standard 5x7 Apple character set, and SHAPETABLE7X9 is an extended character set, containing the standard characters and Greek characters, in a larger resolution. You can load these into the main Shapemaker program or display them using the included program DISPLAYSHAPE, which is a simple program for quickly displaying the contents of a shape table. (Note if you want to display the included shape tables under ProDOS, you'll need to enter ISSUE84/SHAPETABLE3X6 as the filename, since the program resets the prefix.)

Finally included is a demo program, BARCHART, which shows how to use shape tables to create a nice-looking bar chart, and the corresponding shape table for this demo program, BARTABLE.

* p. 101: Solving Alphanumeric Puzzles on Your Home Computer, by Jim Butterfield (DOS and ProDOS)
  https://archive.org/stream/1987-05-compute-magazine/Compute_Issue_084_1987_May#page/n101/mode/2up

This introductory program shows how to use BASIC with the power of brute force to solve classic math puzzles where you have an addition problem where all of the numbers have been replaced by letters, and your job is to figure out which letters represent which number. RUN SOLVER DEMO (RUN SOLVER.DEMO in ProDOS) to watch the demo in action.

* p. 103: Hi-Res Text for Apple II, by Adam Levin (DOS and ProDOS)
  https://archive.org/stream/1987-05-compute-magazine/Compute_Issue_084_1987_May#page/n103/mode/2up

This is a pair of machine-language subroutines which allow you to display text onto the hi-res graphics screen. HIRES.TEXT is the main routine for transferring the text on the text screen to a hi-res screen. To use it, BLOAD HIRES.TEXT, then BLOAD the appropriate character set -- either IIEC.ASCII.SET or II+.ASCII.SET (IIP.ASCII.SET in ProDOS) -- switch to the desired hi-res graphics mode, and then CALL 768. HIRES.FADE will fade out the resulting contents. BLOAD HIRES.FADE and then CALL 848 to use it. To see a demo program showing these features in action, RUN HIRES DEMO (RUN HIRES.DEMO in ProDOS).

* Reader Feedback (p. 12): Catalog Saver (DOS only)
  https://archive.org/stream/1987-05-compute-magazine/Compute_Issue_084_1987_May#page/n13/mode/2up

This snippet of code from the Reader Feedback section shows how to read the contents of the DOS catalog into an array. RUN CATALOG SAVER to execute it; after execution, C will contain the total number of files found and TB$() will contain their names.

--------------------
Issue 85 (June 1987)
--------------------
archive.org link: https://archive.org/details/1987-06-compute-magazine

This contains the following programs:

* p. 25: Laser Chess, by Mike Duppong; Apple II version by Tim Victor (DOS and ProDOS)
  https://archive.org/stream/1987-06-compute-magazine/Compute_Issue_085_1987_Jun#page/n25/mode/2up

Laser Chess is one of Compute's most famous type-in games. It is a two-player strategy game, featuring pieces which move around a board like in chess, but also a laser which can be used to fire at opposing pieces. See the article for full rules of the game. To play, RUN LASER CHESS (or RUN LASER.CHESS in ProDOS). Use the arrow keys to move around the board, RETURN to select a piece, and < or > to rotate a piece when it has been selected. Use ESC to access the menu to fire your laser, pass your turn, or quit the game.

* p. 81: Printing Special Characters, by George Vogel (DOS and ProDOS)
  https://archive.org/stream/1987-06-compute-magazine/Compute_Issue_085_1987_Jun#page/n81/mode/2up

This article features a discussion on how to download extended character sets to a printer. While the article covers a variety of different techniques, most of the examples (including the program) are specific to the Star SG-10 printer. I don't know of any software which emulates this particular printer, so I can't see if this actually works or not. But if you want to try, RUN PRINT SPECIAL.

Since the article points out that the Star SG-10 is similar to Epson printers, and Virtual Apple ][ does emulate the Epson LX-80, and the LX-80 manual is still available on Epson's web site at https://files.support.epson.com/pdf/lx80__/lx80__u1.pdf , I went to the trouble of replacing the control codes in the appropriate places (see the notes below for full details) with the appropriate Epson codes. This version can be run with RUN PRINT SPECIAL EPSON. It works fine using the LX-80 emulation of Virtual Apple ][, although you will need to set "Use 8th bit" in the printer options (otherwise the top line of the downloaded characters will be cut off).

Due to space limitations on the ProDOS disk, only the Epson version is saved on the ProDOS disk. RUN PR.SPEC.EPSON to try it.

* p. 94: Full-Screen Editor for Applesoft, by Alex Wong (DOS only)
  https://archive.org/stream/1987-06-compute-magazine/Compute_Issue_085_1987_Jun#page/n95/mode/2up

This utility provides a convenient full-screen editing utility for Applesoft BASIC programs. To use it, BRUN FSE to install, load the BASIC program you want to edit, and then use / followed by the line number of range that you'd like to bring into the full-screen editor. You start in CURSOR mode, where you use IJKM or the arrows to move around the screen. To edit a line, use Control-E to enter edit mode, edit the line as desired, and then Return to enter the line.

* p. 106: Font Loader for Apple ImageWriter, by Ed Thompson (ProDOS only)
  https://archive.org/stream/1987-06-compute-magazine/Compute_Issue_085_1987_Jun#page/n107/mode/2up

This utility will allow you to preview fonts on screen before downloading them to your ImageWriter. RUN FONT.LOADER to start.

This program requires a very specific setup in order to work at all: you must have the fonts that you wish to examine or download in the directory /FONTLOADER/FONTS (not necessarily on the same disk as the program); if you want to change this, you will need to edit lines 650, 750, and 1150. All of the font names must end in ".SET", and the standard ASCII character set must be present under the name "ASCII.SET". If you meet all of these conditions, then you can successfully run the program.

Unfortunately, even after all that, getting this program to work under emulation is rather tricky. AppleWin doesn't handle non-text printer output, so it won't work with this program. MESS successfully produces a binary printer output file, but running it through an ImageWriter emulator doesn't produce the expected output; it's difficult to tell if this is the fault of MESS or the ImageWriter emulation. It does work correctly and as expected under Virtual Apple ][, which has the best ImageWriter emulation of any program I know.

* The reader feedback section (p. 52) includes some information on how to relocate a BASIC program so that it will occupy the memory starting at $4000, in order to not interfere with hi-res page 1. I haven't included here since it's not useful on its own, but for reference the code is here:
https://archive.org/stream/1987-06-compute-magazine/Compute_Issue_085_1987_Jun#page/n53/mode/2up
Note that the version printed here in issue #85 is not quite right: the end of the line should be RUN PROGRAM, not LOAD PROGRAM, as noted in CAPUTE! #86, which has the fully correct line:
https://archive.org/stream/1987-07-compute-magazine/Compute_Issue_086_1987_Jul#page/n53/mode/2up


===================
Corrections & Notes
===================

While I've generally tried to match the printed listings exactly (including later corrections when appropriate), there are a few cases where I've made a few corrections of my own.

* In the first version of MLX (introduced in issue #61 with SpeedScript for Apple II), the line which saves the binary file (line 200) contains a bug: the length is calculated as (end - start) rather than the correct (end - start + 1). In most MLX programs this is harmless, since the last few bytes are just padding to make the program length an even multiple of 8. However, there are some cases where this causes problems. This was fixed in issue #88 (the first issue where MLX included Proofreader checksums), without any notice that anything had changed. Then, in issue #93 (just three issues before COMPUTE! ended type-in programs entirely), the version of MLX changed to "MLX V1.1". This introduced occasional garbage collection (which presumably helped out in very long typing sessions), but re-introduced the length bug!

So, the version here is a version which was never actually printed -- it combines the bug fix in the issue #88 version with the improvements in V1.1, so I've labeled it as V1.2.

* Euchre (#82): The MLX directions for EUCHRE.BIN specify the address as 8CA8-91CE, but the data actually goes through 91CF. Combined with the MLX bug discussed above, this means that you can potentially lose two bytes, which affects the appearance of the ace when it's drawn. The correct line (including checksum) is:
91C8: 63 49 1C 1C 00 1C 1C 1C F9

* SpeedScript 80 (#83):

If you're patching an old version, be aware that the bugfixes published in this issue do not match the original bugfixes published in issues 67 and 70 (https://archive.org/stream/1985-12-compute-magazine/Compute_Issue_067_1985_Dec#page/n91/mode/2up and https://archive.org/stream/1986-03-compute-magazine/Compute_Issue_070_1986_Mar#page/n127/mode/2up). I would recommend using the original bugfixes, as they match what's in the final full version printed here.

If you use the published SPEEDSCRIPT2 to convert to ProDOS, you will get strange behavior if a ProDOS error occurs. This is fixed if you instead use the patch to update the ProDOS version of Speedscript 3.0 to Speedscript 80, so we just need to adopt that patch into PRODOS.MAKER by adding the following line:
505 DATA 7014,1,185,20,205

* Magazine Indexer (#83):

There is one major bug fix necessary, and I've made a few other changes as well.

1) When a delete occurs, the last entry in the pointer array L% is not properly cleared, so the next time you enter an item which would go at the end of the list, you instead get a duplicate of the deleted item. To fix this, just change line 950 to
950 L%(NF) = 0:NF=NF-1

2) I've changed line 450 to 
450 GOSUB 2020:L%(I) = RL + 1 (instead of 2). This is just aesthetic, but it makes the records in the file start at 1 instead of 2 and makes the RL variable make a little bit more sense.

There are also two additional fixes necessary for ProDOS:

3) The program uses INDEX POINTERS as the name for the pointers file, which is of course not a valid ProDOS file name, so I've changed it to INDEX.POINTERS in the appropriate locations (lines 200-210 and 1540).

4) In ProDOS, unlike DOS, it appears that you can't use WRITE...,B# to select a position beyond the end of the record, which the program does often. The simple way to avoid this is just to add a bunch of spaces in the record before beginning to actually write the record in line 460:

460 FP=L%(I):GOSUB 2000:PRINT D$"WRITE"Z$",R"FP:PRINT SPC(N5);:PRINT D$"WRITE"Z$",R"FP:PRINT TO$CR$T1$CR$;

* Shapemaker (#84): Line 340 in the main program (Program 2) reads FOR I=O TO C instead of FOR I=0 TO C. Since O is never used as a variable, this should always work properly, but I've changed it to a 0 just to be sure.

* Hi-Res Text (#84): In the demo program (Program 5), line 66 says REM ,A$60000 instead of REM ,A$6000 -- I've fixed it (although this is obviously purely cosmetic). Also, since + is not a valid character in a ProDOS filename, I've changed the name of II+.ASCII.SET to IIP.ASCII.SET in ProDOS and changed line 64 accordingly.

* Laser Chess (#85): The version printed in the issue is missing line 760, which updates the move counter display after a move is made. Fortunately, the official disk for this issue is available and contains the line, which is 760  IF MC = 1 THEN  VTAB 20: HTAB 4: PRINT " "

* Printing Special Characters (#85): Here's the full list of changes necessary to use the control codes for the Epson LX-80.
 - In line 80, E$"*"CHR$(0) becomes E$":"CHR$(0)CHR$(0)CHR$(0).
 - In line 130, E$"*"CHR$(1) becomes E$"&"CHR$(0).
 - In line 220, E$CHR$(112)CHR$(1) becomes E$CHR$(112)"1".
 - In line 230, the same substitution (E$"G" remains the same).
 - In line 260, E$"M"CHR$(8) becomes E$CHR$(108)CHR$(8).
 - In line 310, E$"$"CHR$(1) becomes E$"%"CHR$(1)CHR$(0).
 - In line 330, E$"$"CHR$(0) becomes E$"%"CHR$(0)CHR$(0).
In addition, I also moved line 190 down to line 230 (moving lines 200-230 up accordingly) so that the selected print mode is actually used for the character table, which seems to make more sense than the current way the program is written.

* Full-Screen Editor (#85): Entering or viewing this program with MLX requires some changes, as the strings (which occupy memory from HIMEM -- normally $9600 -- down) will overwrite the end of the program (in fact, if you look closely at the last couple of lines of the listed program, you will see that this has already happened). The simplest way to avoid this is to add 50 HIMEM: 32768 to the beginning of MLX before running it.

* Font Loader (#85): The line 730 A$(1)="APL", will cause the program to crash if you don't have an APL.SET font present, and doesn't seem very useful even if you do, so I've removed it.

==============
Other Versions
==============

These programs have been typed in by me directly from the printed version. However, the disk for one of these issues (issue 85, on the Jun-Aug 87 disk) is also available on the Asimov archive, so I checked my versions against the disk versions. Here's a full list of the differences (minor differences, like the number of spaces in REM comments, are not listed):

- Laser Chess: The disk version includes a copyright notice in line 10. In the ML file, the printed version ends at $6577, while the DOS disk version ends at $6575, which appears to be the actual end of the file; the other two bytes appear to be just padding to make the length an even multiple of 8. Oddly, the ProDOS disk version is longer, running through $65FF; the extra bytes are all zeroes.
- Printing Special Characters: The DOS disk version is the same as the printed version. The ProDOS version has slightly different comments in the character DATA and a copyright notice.
- Full-Screen Editor: The printed version ends at $95FF, while the disk version ends at $95FB. There are some differences after $95E3, but it appears that these are all junk bytes anyway.
- Font Downloader: no differences.

In addition, the Compute Best of Apple disks on the Asimov archive also contain some of these programs.
- Euchre: No differences in the BASIC file; the disk version of EUCHRE.BIN is missing its last byte, due to the problem discussed above.
- Wari: The disk version does not include the correction published in CAPUTE #83 (line 1365). Otherwise, the two are the same.
- SpeedScript 80 (note that only the ProDOS version is included on this disk)
 + Main program: The only functional difference is that my version includes the fix mentioned above. There are also a few differences which don't affect the functionality: The printed version ends at $3CBF, while the disk version ends at $3DFF. The extra bytes are all zeroes. Also, since the main program ends at $3645 but the ProDOS-specific code doesn't begin until $3AF0, the data in between is junk. Consequently, the disk version in that range doesn't match what you get if you follow the instructions in the printed version, but that doesn't matter at all.
 + SPEEDSCRIPT2 (ProDOS patch): The printed version ends at $3CBF, while the disk version ends at $3CBE. Since it looks like the SpeedScript listings took account of the MLX bug discussed earlier, the extra byte looks like it's superfluous.
 + File converter: No differences. Strangely, the disks include two copies of the ProDOS converter, but they're identical.